package com.ywd.platform.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * YWD
 * 2025/8/17
 */
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@Data
public class VehicleVo implements Serializable {
    /**
     * 车辆ID
     */
    @Schema(description = "车辆ID")
    private Long id;

    /**
     * 车辆全局唯一标识(UUID)
     */
    @Schema(description = "车辆全局唯一标识(UUID)")
    private String uuid;

    /**
     * 车牌号
     */
    @Schema(description = "车牌号")
    private String licensePlate;
    /**
     * 车牌颜色
     */
    @Schema(description = "车牌颜色")
    private Integer plateColor;

    /**
     * 车辆识别号(VIN)
     */
    @Schema(description = "车辆识别号(VIN)")
    private String vin;

    /**
     * 品牌
     */
    @Schema(description = "品牌")
    private String brand;

    /**
     * 型号
     */
    @Schema(description = "型号")
    private String model;

    /**
     * 车辆类型("CAR=轿车", "SUV=越野车", "TRUCK=卡车", "SPECIAL=特种车")
     */
    @Schema(description = "车辆类型(\"CAR=轿车\", \"SUV=越野车\", \"TRUCK=卡车\", \"SPECIAL=特种车\")")
    private String vehicleType;
    /**
     * 生产年份
     */
    @Schema(description = "生产年份")
    private String productionYear;

    /**
     * 整备质量(kg)
     */
    @Schema(description = "整备质量(kg)")
    private Integer curbWeight;

    /**
     * 最大载重(kg)
     */
    @Schema(description = "最大载重(kg)")
    private Integer maxLoad;

    /**
     * 当前里程(km)
     */
    @Schema(description = "当前里程(km)")
    private String currentMileage;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private String createTime;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    private String updateTime;
}
